This section is intended to introduce the reader to various aspects of art, which may be related to various aspects of the present invention that are described and/or claimed below. This discussion is believed to be helpful in providing the reader with background information to facilitate a better understanding of the various aspects of the present invention. Accordingly, it should be understood that these statements are to be read in this light, and not as admissions of prior art.
In the field of computer systems, it may be desirable for information to be transferred from a system memory associated with one computer system to a system memory associated with another computer system. The information may be transmitted by upper layer protocols (“ULP”), which may be referred to as consumers, through a network that connects the computer systems together. Many protocols or strategies for transferring data between the memories of computer systems employ queue pairs (“QPs”). Each QP may include a send queue (“SQ”) and a receive queue (“RQ”). Typically, each computer involved in a transfer will have both a send queue and a receive queue.
Queue pairs may be defined to expose a memory segment, such as a memory window or memory region, within the local system to a remote system. The information about the memory windows and memory regions may be maintained within a memory translation and protection table (“TPT”). The entries in the TPT may be accessed by steering tags (“STags”), which indicate a specific entry within the TPT. In addition to the TPT, a physical address table (“PAT”) may be implemented to convert the fields of the in the TPT to physical addresses of memory.
However, before the memory segments may be accessed, either locally or remotely, the upper layer protocols may perform various steps to exchange information relating to the memory segment. For instance, the memory segment may first be registered to allow access to that memory segment from the local system or a remote system. Upon completion of the registration, the upper layer protocol may create and send a message with the information relating to the memory segment. The registration process is time consuming and expensive in terms of computing resources. As such, for each command sent from the upper layer protocol, the extensive registration process may result in excessive delays and inefficiencies in the operation of the computer system.